﻿using Onshi.POS.Formularios.Recursos;
using Onshi.POS.Modelo.Enumeradores;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Onshi.POS.Formularios
{
    public partial class Telefonos : FormularioBase
    {
        #region Cosntructores

        public Telefonos()
        {
            InitializeComponent();
        }

        public Telefonos(Int32 id, Byte idTipoTelefono, String codigoArea, String numero)
            : this()
        {
            this.id = id;
            this.idTipoTelefono = idTipoTelefono;
            this.codigoArea = codigoArea;
            this.numero = numero;
        }

        #endregion

        #region Atributos

        private Int32 id;
        private Byte idTipoTelefono;
        private String codigoArea;
        private String numero;

        #endregion

        #region Propiedades

        public Int32 Id
        {
            get { return id; }
        }

        public Byte IdTipoTelefono
        {
            get { return (Byte)cboTipoTelefono.SelectedValue; }
        }

        public String CodigoArea
        {
            get { return mskCodigoArea.Text; }
        }

        public String Numero
        {
            get { return mskNumero.Text; }
        }

        #endregion

        #region Eventos

        private void Telefonos_Load(Object sender, EventArgs e)
        {
            cboTipoTelefono.Actualizar();
            if (id == 0)
                cboTipoTelefono.SelectedValue = (Byte)EnumTiposDomicilios.Otro;
            else
            {
                cboTipoTelefono.SelectedValue = idTipoTelefono;
                mskCodigoArea.Text = codigoArea;
                mskNumero.Text = numero;
            }
        }

        private void btnCancelar_Click(Object sender, EventArgs e)
        {
            Close();
        }

        private void btnAceptar_Click(Object sender, EventArgs e)
        {
            var validado = true;
            errDomicilios.Clear();
            if (cboTipoTelefono.SelectedIndex == -1)
            {
                validado = false;
                errDomicilios.SetError(cboTipoTelefono, "El tipo de teléfono no puede quedar vacío");
            }
            if (String.IsNullOrWhiteSpace(mskCodigoArea.Text))
            {
                validado = false;
                errDomicilios.SetError(mskCodigoArea, "El código de área no puede quedar vacío");
            }
            if (String.IsNullOrWhiteSpace(mskNumero.Text))
            {
                validado = false;
                errDomicilios.SetError(mskNumero, "El número no puede quedar vacío");
            }
            if (validado)
                DialogResult = DialogResult.OK;
        }

        #endregion
    }
}
